/**
 * 
 */
package pe.gob.osce.sirenas.model.jpa;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * @author Administrador
 *
 */
@Entity
@Table(name="DET_REG_ACREDITACION",schema="RNAS")
@SequenceGenerator(name="SQ_ID_ACREDITACION",sequenceName="RNAS.SQ_ID_ACREDITACION", allocationSize=1)
public class Acreditacion  implements Serializable {

	private static final long serialVersionUID = 2244853566329254157L;

	@Id
	@GeneratedValue(strategy =	GenerationType.SEQUENCE, generator="SQ_ID_ACREDITACION")
	@Column(name="N_ID_ACREDITACION")
	private Long idAcreditacion;
	
	@Column(name="N_ID_FICHA")
	private Long idFicha;
	@Column(name="N_IND_ESPECIALIDAD")
	private Integer indEspecialidad;
	
	@Column(name="N_IND_ESTADO")
	private Long estado;
	
	@Embedded
	private Auditoria auditoria;

	@ManyToOne( cascade = { CascadeType.ALL } )
	@JoinColumn(name="N_ID_FICHA", insertable=false, updatable=false)
    private FichaArbitral fichaArbitral;
	/**
	 * Metodo que permite obtener idAcreditacion.
	 * @return idAcreditacion , tipo Long.
	 */
	public Long getIdAcreditacion() {
		return idAcreditacion;
	}

	/**
	 * Permite actualizar idAcreditacion.
	 * @param idAcreditacion, tipo Long.
	 */
	public void setIdAcreditacion(Long idAcreditacion) {
		this.idAcreditacion = idAcreditacion;
	}

	/**
	 * Metodo que permite obtener idFicha.
	 * @return idFicha , tipo Long.
	 */
	public Long getIdFicha() {
		return idFicha;
	}

	/**
	 * Permite actualizar idFicha.
	 * @param idFicha, tipo Long.
	 */
	public void setIdFicha(Long idFicha) {
		this.idFicha = idFicha;
	}

	/**
	 * Metodo que permite obtener indEspecialidad.
	 * @return indEspecialidad , tipo Integer.
	 */
	public Integer getIndEspecialidad() {
		return indEspecialidad;
	}

	/**
	 * Permite actualizar indEspecialidad.
	 * @param indEspecialidad, tipo Integer.
	 */
	public void setIndEspecialidad(Integer indEspecialidad) {
		this.indEspecialidad = indEspecialidad;
	}

	/**
	 * Metodo que permite obtener estado.
	 * @return estado , tipo Long.
	 */
	public Long getEstado() {
		return estado;
	}

	/**
	 * Permite actualizar estado.
	 * @param estado, tipo Long.
	 */
	public void setEstado(Long estado) {
		this.estado = estado;
	}

	/**
	 * Metodo que permite obtener auditoria.
	 * @return auditoria , tipo Auditoria.
	 */
	public Auditoria getAuditoria() {
		return auditoria;
	}

	/**
	 * Permite actualizar auditoria.
	 * @param auditoria, tipo Auditoria.
	 */
	public void setAuditoria(Auditoria auditoria) {
		this.auditoria = auditoria;
	}

	/**
	 * Metodo que permite obtener fichaArbitral.
	 * @return fichaArbitral , tipo FichaArbitral.
	 */
	public FichaArbitral getFichaArbitral() {
		return fichaArbitral;
	}

	/**
	 * Permite actualizar fichaArbitral.
	 * @param fichaArbitral, tipo FichaArbitral.
	 */
	public void setFichaArbitral(FichaArbitral fichaArbitral) {
		this.fichaArbitral = fichaArbitral;
	}
	
	

}
